Classification of objects and/or of events may be achieved by means of a neural network, sometimes also referred to as artificial intelligence AI. The trend right now is of an increased use of these technologies for classifying objects or events from captured still images or video. These classifying neural networks are often used in applications like character recognition, monitoring, surveillance, image analysis, natural language processing etc. There are many neural network algorithms/technologies that may be used for classifying objects, e.g. Convolutional Neural Networks, Recurrent Neural Networks, etc.
A general training setup 10 for training a general neural network 12 for classification is shown in FIG. 1a. The neural network 12 is fed labeled data 14. The labeled data 14 is for example an image of an object to be classified, wherein the image is labeled with the correct class, i.e. the labeled data 14 includes the ground truth 18 of the image data 16 and the image data 16 itself. The image data 16 is inputted to the classifier and the ground truth 18 is sent to a loss function calculator 20. The classifier 12 processes the data representing an object to be classified and generates a classification identifier 22. The processing in the classifier includes applying weights to values as the data is fed through the classifier 12. The classification identifier 22 may be a feature vector, a classification vector, or a single value identifying a class. In the loss function the classification identifier 22 is compared to the ground truth 18 using, e.g. a loss function. The result from the loss function 24 is then transferred to a weight adjustment function 26 that is configured to adjust the weights used in the classifier 12. Then when the classifier 12 is fully trained it may be used as depicted in FIG. 2, wherein a classification is performed by loading the data 30 to be classified into the classifier 12. The data 30 to be classified is in the same form as the labeled data used during training, but without the label. The classifier 12 then output data 32 identifying the class determined for the data inputted.
To achieve a properly trained classifier a very large number of labeled data instances is required, e.g. labeled images. Generally hundreds of thousands of instances of labeled data is required, in many cases even millions. This training data is very cumbersome to generate. For some classifications you may buy large labeled data sets. The most common data sets includes images that are classified. One problem with these existing data sets is that they may not be labeled with the classes you would like to train your classifier to recognize. Another problem with the existing data sets is that they may not use the form of input data that you would like to make your classification on.
The classifier may be any type of neural network, artificial intelligence, or machine learning scheme. In the present description an artificial intelligence includes a neural network, hence when we describes neural networks it also applies to any artificial intelligences including such neural networks. A neural network to be used as a classifier may be implemented in a lot of different ways known to the skilled person. Neural networks sometimes are referred to as artificial neural networks.